草庐IT

iphone - 单例 managedObjectContext

全部标签

c# - 是否可以在接口(interface)中包装 C# 单例?

我目前有一个类,其中我只有静态成员和常量,但是我想用包装在接口(interface)中的单例替换它。但是我该如何做到这一点,记住我见过的每个单例实现都有一个静态实例方法,从而违反了接口(interface)规则? 最佳答案 要考虑的一个解决方案(而不是自己动手)是利用IoC容器,例如Unity.IoC容器通常支持针对接口(interface)注册实例。这提供了您的单例行为,因为根据接口(interface)解析的客户端将收到单例。//Registerinstanceatsomestartingpointinyourapplicati

c# - 我们可以继承单例类吗?

我们可以继承单例类吗? 最佳答案 这取决于实现。单例通常具有私有(private)构造函数并且可能标记为sealed,如果是这样则不能。如果它至少受到保护,你可以。如果你只是从单例类继承,结果将不是单例,所以你应该遵循这个模式,让它也是单例。 关于c#-我们可以继承单例类吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3564758/

c# - 单元测试单例

我有一个包含对统计对象的引用的单例。当我在使用该单例的程序上运行几个单元测试时-测试之间保持的值。我虽然在执行Program.Main()时它会在单元测试之间重新开始,但不知何故它会记住上次测试的结果。我如何编写相互隔离的单元测试(我不想要clean()函数-我希望它从新的“一切”开始), 最佳答案 简短版本:不要把你的单例写成单例。将它们编写为普通类,并通过控制反转容器调用它们,您已将类配置为单例。这样,您就可以很好地对类进行单元测试,如果您今天或明天决定单例不是该类的正确生活方式,只需修改IoC容器的配置即可。

c# - Web 应用程序中的单例模式

我在我的网络应用程序中为数据上下文使用单例模式,这样我就不必每次都实例化它,但是我不确定网络应用程序是如何工作的,IIS是否为每个连接的用户打开一个线程?如果是这样,如果我的单例不是线程安全的,会发生什么?另外,可以为数据上下文使用单例模式吗?谢谢。 最佳答案 I'musingasingletonpatternforthedatacontextinmywebapplication在这种情况下,“单例”可能意味着许多不同的事情。它是每个请求的单个实例吗?每节课?每个线程?每个AppDomain(static实例)?所有这些的含义截然不

c# - 适用于 iphone 应用程序的 MonoTouch & C# VS Objective C

问候,我是一名C#程序员。我打算开始为iphone开发应用程序,但我不确定是应该在MonoTouch下使用C#还是只使用iphoneOSObjectiveC的native语言。使用C#或ObjectiveC编写iphone应用程序有什么不同吗?使用C#编写iphone应用程序是否有限制,或者它可以像ObjectiveC一样开发iphone应用程序? 最佳答案 MonoTouch封装了大部分但不是所有的iPhoneSDK。所以,是的,有些事情(目前)你还不能做,但它们相对较少而且相差甚远。许多.Net用户发现他们使用MonoTouch

c# - DLL 中的单例类可以跨进程共享吗?

我正在创建一个自定义的.net硬件框架,其他程序员将使用它来控制某些硬件。他们将添加对我们的DLL的引用以访问我们的硬件框架。我需要一个可以从多个应用程序(进程)访问的共享类。单例模式似乎是我所需要的,但它只适用于进程内的多个线程。我可能完全错了,但这是我目前拥有的C#代码的示例。我不禁觉得设计不正确。我希望我可以分享更具体的信息,但我不能。我必须强调,我无法控制客户的申请。解决方案必须包含在框架(DLL)本身中。框架:(共享DLL)publicclassResources{staticreadonlyResourcesm_instance=newResources();publics

c# - 我可以用这种方式为所有派生的单例定义一个抽象类吗?

这是我的抽象类,每次我想制作一个Singleton时都必须派生它:publicabstractclassSingletonwhereT:Singleton{privatestaticreadonlyLazy_instance=newLazy(()=>{varconstructor=typeof(T).GetConstructor(BindingFlags.NonPublic|BindingFlags.Instance,null,newType[0],null);return(T)constructor.Invoke(null);});publicstaticTInstance{get{

c# - 多线程 C# 应用程序中的惰性单例

我正在开发一个使用WCFWeb服务的多线程C#应用程序。与web服务的连接将有一个特定的超时时间,我们可以定义该超时时间,超时后它将关闭。我希望使用单例类来存储与Web服务的连接。我正在尝试按如下方式获取实例:CLazySingletonins=CLazySingleton.Instance;stringconnection=CLazySingleton.abc;下面是单例类的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceLazySingleton{pu

c# - 需要一些异步调用的单例类

我有一个单例类,它加载了一些关于它的构造的数据。问题是加载这些数据需要调用async方法,但是构造函数不能是async。换句话说,我的类(class)有以下结构:publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){LoadData();}publicstaticSingletonInstance{get{if(instance==null){instance=newSingleton();}returninstance;}}}LoadData()是一个async函数,它调用许多async函数以及初

c# - 单例属性

好的,如果我创建一个单例类并通过公共(public)静态属性公开单例对象......我明白了。但是我的单例类中还有其他属性。那些应该是静态的吗?那些也应该是私有(private)的吗?我只想通过这样做能够访问我的单例类的所有属性:MySingletonClass.SingletonProperty.SomeProperty2SingletonProperty返回单个单例实例的位置。我想我的问题是,如何公开单例类中的其他属性...将它们设为私有(private),然后通过公共(public)单例静态属性访问它们?或者单例的所有其他属性和方法是否应该是公共(public)非静态的?